com.supermap.navi
类 Navigation3
- java.lang.Object
-
- com.supermap.navi.Navigation3
-
public class Navigation3 extends java.lang.Object
室内导航类 与行业导航类似,提供基于拓扑路网的路径分析与导引。不同之处在于,在设置起点、终点或途径点时,需要设置其位于的楼层的ID,楼层ID可以通过与地图关联的FoorListView的FloorListView.getCurrentFloorId()
获取支持使用定制的路网数据进行导航,并可以编辑修改路网数据,路网数据通过室内地图数据所在数据源与室内导航模块关联;
支持模拟导航速度
支持引导路径风格设置, 包括当前显示楼层和其他楼层的路径风格;
支持自定义的GPS加密;
提供矢量地图的地图旋转功能(参考
setCarUpFront(boolean)
),网络地图暂不支持。
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 void
addNaviInfoListener(NaviListener listener)
添加导航引导信息更新监听器void
addWayPoint(double x, double y, java.lang.String id)
设置途经点与楼层ID,需在设置起点和终点后,才能成功添加途径点void
cleanPath()
清除路径分析结果void
enablePanOnGuide(boolean bPan)
是否允许在引导的时候拖动地图double
getCarAngle()
获取小车角度Point2D
getCarPosition()
获取小车位置boolean
getCarUpFront()
获取是否小车车头向上double
getGuideEndDistance()
获取结束导航时距离目的地点的长度,单位米NaviPath
getNaviPath()
获取导航路径信息int
getPathID()
获取小车所在道路IDint
getResultIndex()
获取小车所在分析路段GeoLine[]
getRoute()
获得路径分析线路double
getSpeed()
获取行驶速度,单位m/sdouble
getWayPointTolerance(double tolerance)
设置导航过程中途经点范围的容限值boolean
isAotuReRouteEnable()
获取偏航时是否自动重新规划路径boolean
isDrivingModeEnable()
设置是否是室内驾车模式boolean
isGuiding()
判断是否正在进行引导。boolean
isNearestDoorMode()
判断是否为最近门模式boolean
isPassedRouteHidden()
是否隐藏走过的路线void
locateMap()
导航中,小车在屏幕中居中显示void
pauseGuide()
暂停导航void
resumeGuide()
继续导航boolean
routeAnalyst()
最佳路径分析void
setAotuReRouteEnable(boolean reRoute)
设置偏航时是否自动重新规划路径,默认重新规划,室内驾车模式下有效。void
setAzimuthChangeListener(AzimuthChangeListener listener)
设置方位角变化监听器void
setCarPicture(android.graphics.Bitmap carBmp)
设置小车图标void
setCarSize(float width, float height)
设置小车图标尺寸boolean
setCarUpFront(boolean value)
设置小车车头是否向上,设置为true时就能实现地图旋转。void
setCurrentFloorId(java.lang.String id)
设置当前显示的楼层IDvoid
setDatasource(Datasource value)
设置室内地图所在的数据源。void
setDestinationPoint(double x, double y, java.lang.String id)
设置目的点与楼层IDvoid
setDeviateTolerance(double tolerance)
添加导航偏移容限,单位米void
setDrivingModeEnable(boolean drivingMode)
设置是否是室内驾车模式void
setEncryption(Encryption encryption)
设置加密器void
setFloorChangeListener(FloorChangeListener listener)
添加楼层变化监听器void
setGPSData(LocationManagePlugin.GPSData newGps)
设置GPS数据void
setGuideEndDistance(double distance)
设置结束导航时距离目的地点的长度,单位米void
setHintRouteStyle(GeoStyle value)
设置其他楼层引导路径的样式void
setIsAutoNavi(boolean isAutoNavi)
设置是否自动采集GPS。void
setIsEncryptGPS(boolean isEncryptGPS)
设置是否加密GPS数据,默认加密void
setNearestDoorMode(boolean flag)
设置最近门模式,为true则在路径分析时会自动选取最近的门位置作为始/终点void
setPassedRouteHidden(Map map, boolean isAutoHidden)
设置是否隐藏走过的路线(当设置分析路径不可见时,此路径也不显示) 注意:如果要使用此接口,必须在路径分析之前调用void
setPathVisible(boolean isVisible)
设置分析路径是否可见void
setRouteStyle(GeoStyle value)
设置当前楼层引导路径的样式boolean
setSimulationInterval(int interval)
设置模拟导航间隔时间(单位ms)boolean
setSimulationSpeed(double speed)
设置模拟导航速度(单位m/s)void
setSpeed(double speed)
设置行驶速度,单位m/svoid
setStartPoint(double x, double y, java.lang.String id)
设置起点与楼层IDvoid
setWayPointTolerance(double tolerance)
设置导航过程中途经点范围的容限值boolean
startGuide(int mode)
开始引导boolean
stopGuide()
停止引导
-
-
-
方法详细资料
-
getNaviPath
public NaviPath getNaviPath()
获取导航路径信息- 返回:
- 导航路径信息对象
-
startGuide
public boolean startGuide(int mode)
开始引导- 参数:
mode
- 0:真实导航, 1:模拟导航 ,2:巡航 ,3:步行导航- 返回:
- 是否成功
-
getCarAngle
public double getCarAngle()
获取小车角度- 返回:
- 小车角度
-
getCarPosition
public Point2D getCarPosition()
获取小车位置- 返回:
- 小车位置
-
getPathID
public int getPathID()
获取小车所在道路ID- 返回:
- 道路ID
-
getResultIndex
public int getResultIndex()
获取小车所在分析路段- 返回:
- 分析路段
-
enablePanOnGuide
public void enablePanOnGuide(boolean bPan)
是否允许在引导的时候拖动地图- 参数:
bPan
- 一个布尔值,用来指示在导航过程中是否允许平移地图,true,表示允许,false,表示不允许。
-
locateMap
public void locateMap()
导航中,小车在屏幕中居中显示
-
isGuiding
public boolean isGuiding()
判断是否正在进行引导。- 返回:
- 是否正在进行引导。
-
cleanPath
public void cleanPath()
清除路径分析结果
-
stopGuide
public boolean stopGuide()
停止引导- 返回:
- 是否成功。
-
setPathVisible
public void setPathVisible(boolean isVisible)
设置分析路径是否可见- 参数:
isVisible
- 是否可见
-
setEncryption
public void setEncryption(Encryption encryption)
设置加密器- 参数:
encryption
- 加密算法
-
setGPSData
public void setGPSData(LocationManagePlugin.GPSData newGps)
设置GPS数据- 参数:
newGps
- GPS数据
-
setDatasource
public void setDatasource(Datasource value)
设置室内地图所在的数据源。必选- 参数:
value
- 数据源
-
setStartPoint
public void setStartPoint(double x, double y, java.lang.String id)
设置起点与楼层ID- 参数:
x
- 起点x坐标y
- 起点y坐标id
- 楼层ID
-
setDestinationPoint
public void setDestinationPoint(double x, double y, java.lang.String id)
设置目的点与楼层ID- 参数:
x
- 终点x坐标y
- 终点y坐标id
- 楼层ID
-
addWayPoint
public void addWayPoint(double x, double y, java.lang.String id)
设置途经点与楼层ID,需在设置起点和终点后,才能成功添加途径点- 参数:
x
- 终点x坐标y
- 终点y坐标id
- 楼层ID
-
setCurrentFloorId
public void setCurrentFloorId(java.lang.String id)
设置当前显示的楼层ID- 参数:
id
- 楼层ID
-
routeAnalyst
public boolean routeAnalyst()
最佳路径分析- 返回:
- 是否成功
-
setIsEncryptGPS
public void setIsEncryptGPS(boolean isEncryptGPS)
设置是否加密GPS数据,默认加密- 参数:
isEncryptGPS
- 是否加密GPS数据
-
setCarPicture
public void setCarPicture(android.graphics.Bitmap carBmp)
设置小车图标- 参数:
carBmp
- 图标bitMap
-
setFloorChangeListener
public void setFloorChangeListener(FloorChangeListener listener)
添加楼层变化监听器- 参数:
listener
- 楼层变化监听器
-
setAzimuthChangeListener
public void setAzimuthChangeListener(AzimuthChangeListener listener)
设置方位角变化监听器- 参数:
listener
- 方位角变化监听器
-
setIsAutoNavi
public void setIsAutoNavi(boolean isAutoNavi)
设置是否自动采集GPS。默认自动采集- 参数:
isAutoNavi
- 是否自动采集GPS
-
setCarSize
public void setCarSize(float width, float height)
设置小车图标尺寸- 参数:
width
- 宽度height
- 高度
-
setCarUpFront
public boolean setCarUpFront(boolean value)
设置小车车头是否向上,设置为true时就能实现地图旋转。要使用地图旋转还需要提前开启整屏绘制功能,即使用
Map.setFullScreenDrawModel(boolean)
, 然后再设置为车头向上,实现地图旋转。目前地图旋转仅支持矢量地图的旋转,而网络地图不能旋转。
当地图为网络地图时,设置参数value=true,返回false,并会输出相应的日志信息; 当地图为矢量地图时,设置参数value=true,返回true; 设置参数value=false,总数返回成功,此时导航中地图不会旋转
使用示范如下:
map.open(mapName); // 打开地图 map.setFullScreenDrawModel(true); // 设置整屏绘制 navigation.setCarUpFront(true); // 设置车头向上,如果通过导航界面中的指南针按钮实现地图旋转,则可以不调用这一句,仅使用上一句即可
- 参数:
value
- 为true时,小车车头朝上;为false时,小车车头与行进的道路 一致- 返回:
- 是否设置成功
-
getCarUpFront
public boolean getCarUpFront()
获取是否小车车头向上- 返回:
- 是否小车车头向上
-
setRouteStyle
public void setRouteStyle(GeoStyle value)
设置当前楼层引导路径的样式- 参数:
value
- 引导路径的样式
-
setHintRouteStyle
public void setHintRouteStyle(GeoStyle value)
设置其他楼层引导路径的样式- 参数:
value
- 引导路径的样式
-
addNaviInfoListener
public void addNaviInfoListener(NaviListener listener)
添加导航引导信息更新监听器- 参数:
listener
- 引导信息更新监听器
-
resumeGuide
public void resumeGuide()
继续导航
-
pauseGuide
public void pauseGuide()
暂停导航
-
setSimulationSpeed
public boolean setSimulationSpeed(double speed)
设置模拟导航速度(单位m/s)- 参数:
speed
- 导航速度- 返回:
- 是否设置成功
-
setSimulationInterval
public boolean setSimulationInterval(int interval)
设置模拟导航间隔时间(单位ms)- 参数:
interval
- 导航间隔时间- 返回:
- 是否设置成功
-
setDeviateTolerance
public void setDeviateTolerance(double tolerance)
添加导航偏移容限,单位米- 参数:
tolerance
- 偏移容限
-
getSpeed
public double getSpeed()
获取行驶速度,单位m/s- 返回:
- 行驶速度
-
setSpeed
public void setSpeed(double speed)
设置行驶速度,单位m/s- 参数:
speed
- 行驶速度
-
getRoute
public GeoLine[] getRoute()
获得路径分析线路- 返回:
- 分析线路
-
setPassedRouteHidden
public void setPassedRouteHidden(Map map, boolean isAutoHidden)
设置是否隐藏走过的路线(当设置分析路径不可见时,此路径也不显示) 注意:如果要使用此接口,必须在路径分析之前调用- 参数:
map
- map对象isAutoHidden
- 是否隐藏
-
isPassedRouteHidden
public boolean isPassedRouteHidden()
是否隐藏走过的路线- 返回:
- 是否隐藏
-
setGuideEndDistance
public void setGuideEndDistance(double distance)
设置结束导航时距离目的地点的长度,单位米- 参数:
distance
- 结束导航时距离目的地点的长度
-
getGuideEndDistance
public double getGuideEndDistance()
获取结束导航时距离目的地点的长度,单位米- 返回:
- 结束导航时距离目的地点的长度
-
setWayPointTolerance
public void setWayPointTolerance(double tolerance)
设置导航过程中途经点范围的容限值- 参数:
tolerance
- 途经点范围
-
getWayPointTolerance
public double getWayPointTolerance(double tolerance)
设置导航过程中途经点范围的容限值- 参数:
tolerance
- 途经点范围- 返回:
- 容限值
-
setDrivingModeEnable
public void setDrivingModeEnable(boolean drivingMode)
设置是否是室内驾车模式- 参数:
drivingMode
- 默认为false
-
isDrivingModeEnable
public boolean isDrivingModeEnable()
设置是否是室内驾车模式- 返回:
- true为室内驾车模式
-
setAotuReRouteEnable
public void setAotuReRouteEnable(boolean reRoute)
设置偏航时是否自动重新规划路径,默认重新规划,室内驾车模式下有效。- 参数:
reRoute
- true为自动重新规划路径,false为偏航时不自动重新规划
-
isAotuReRouteEnable
public boolean isAotuReRouteEnable()
获取偏航时是否自动重新规划路径- 返回:
- true为自动重新规划路径,false为偏航时不自动重新规划
-
setNearestDoorMode
public void setNearestDoorMode(boolean flag)
设置最近门模式,为true则在路径分析时会自动选取最近的门位置作为始/终点- 参数:
flag
-
-
isNearestDoorMode
public boolean isNearestDoorMode()
判断是否为最近门模式- 返回:
- 是否为最近门模式
-
-